//
//  ScrollTabControl.h
//  danpin
//
//  Created by chuangjia on 25/11/2015.
//  Copyright © 2015 chuangjia. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "viewconfig.h"
@interface TabMenuItem : UIView
@property (nonatomic,strong)UILabel *titleLabel;
@end

@class ScrollTabControl;

/** @brief TopTabControl datasource 需要支持的协议 */
@protocol ScrollTabControlDataSource<NSObject>

@optional


/**
 *  得到顶部菜单栏的宽度
 *
 *  @param tabCtrl tab控件
 *
 *  @return 高度（像素）
 */
- (CGFloat)ScrollTabControlWidth:(ScrollTabControl *)tabCtrl itemAtIndex:(NSUInteger)index;;


/**
 *  得到顶部菜单的个数
 *
 *  @param tabCtrl tab控件
 *
 *  @return 返回菜单的个数
 */
- (NSInteger)ScrollTabControlMenuCount:(ScrollTabControl *)tabCtrl;



/**
 *  得到第几个菜单的view
 *
 *  @param tabCtrl tab控件
 *  @param index   菜单的index，从0开始
 *
 *  @return 返回单个菜单项
 */
- (TabMenuItem *)ScrollTabControl:(ScrollTabControl *)tabCtrl itemAtIndex:(NSUInteger)index;


/**
 *  得到第几个菜单对应的page内容
 *
 *  @param tabCtrl tab控件
 *  @param index   菜单的index，从0开始
 *
 *  @return 返回单个菜单页
 */
- (UIView *)ScrollTabControl:(ScrollTabControl *)tabCtrl pageAtIndex:(NSUInteger)index;

@end

@interface ScrollTabControl : UIView

/** @brief 数据源 */
@property (nonatomic, weak) id<ScrollTabControlDataSource> datasource;

/** @brief 页码 */
@property (nonatomic, assign, readonly) NSUInteger pageIndex;

/**
 *  初始化方法
 *
 *  @param frame 整个控件的大小
 *
 *  @return tab控件
 */
- (instancetype)initWithFrame:(CGRect)frame;



/**
 *  重新刷新数据，类似UItableView的重新刷新数据
 */
- (void)reloadData;


/**
 *  展示第几页，从0开始
 *
 *  @param pageIndex 第几页
 */
- (void)displayPageAtIndex:(NSUInteger)pageIndex;



@end
